856 research outputs found

    Vectorization system for unstructured codes with a Data-parallel Compiler IR

    Get PDF
    With Dennard Scaling coming to an end, Single Instruction Multiple Data (SIMD) offers itself as a way to improve the compute throughput of CPUs. One fundamental technique in SIMD code generators is the vectorization of data-parallel code regions. This has applications in outer-loop vectorization, whole-function vectorization and vectorization of explicitly data-parallel languages. This thesis makes contributions to the reliable vectorization of data-parallel code regions with unstructured, reducible control flow. Reducibility is the case in practice where all control-flow loops have exactly one entry point. We present P-LLVM, a novel, full-featured, intermediate representation for vectorizers that provides a semantics for the code region at every stage of the vectorization pipeline. Partial control-flow linearization is a novel partial if-conversion scheme, an essential technique to vectorize divergent control flow. Different to prior techniques, partial linearization has linear running time, does not insert additional branches or blocks and gives proved guarantees on the control flow retained. Divergence of control induces value divergence at join points in the control-flow graph (CFG). We present a novel control-divergence analysis for directed acyclic graphs with optimal running time and prove that it is correct and precise under common static assumptions. We extend this technique to obtain a quadratic-time, control-divergence analysis for arbitrary reducible CFGs. For this analysis, we show on a range of realistic examples how earlier approaches are either less precise or incorrect. We present a feature-complete divergence analysis for P-LLVM programs. The analysis is the first to analyze stack-allocated objects in an unstructured control setting. Finally, we generalize single-dimensional vectorization of outer loops to multi-dimensional tensorization of loop nests. SIMD targets benefit from tensorization through more opportunities for re-use of loaded values and more efficient memory access behavior. The techniques were implemented in the Region Vectorizer (RV) for vectorization and TensorRV for loop-nest tensorization. Our evaluation validates that the general-purpose RV vectorization system matches the performance of more specialized approaches. RV performs on par with the ISPC compiler, which only supports its structured domain-specific language, on a range of tree traversal codes with complex control flow. RV is able to outperform the loop vectorizers of state-of-the-art compilers, as we show for the SPEC2017 nab_s benchmark and the XSBench proxy application.Mit dem Ausreizen des Dennard Scalings erreichen die gewohnten Zuwächse in der skalaren Rechenleistung zusehends ihr Ende. Moderne Prozessoren setzen verstärkt auf parallele Berechnung, um den Rechendurchsatz zu erhöhen. Hierbei spielen SIMD Instruktionen (Single Instruction Multiple Data), die eine Operation gleichzeitig auf mehrere Eingaben anwenden, eine zentrale Rolle. Eine fundamentale Technik, um SIMD Programmcode zu erzeugen, ist der Einsatz datenparalleler Vektorisierung. Diese unterliegt populären Verfahren, wie der Vektorisierung äußerer Schleifen, der Vektorisierung gesamter Funktionen bis hin zu explizit datenparallelen Programmiersprachen. Der Beitrag der vorliegenden Arbeit besteht darin, ein zuverlässiges Vektorisierungssystem für datenparallelen Code mit reduziblem Steuerfluss zu entwickeln. Diese Anforderung ist für alle Steuerflussgraphen erfüllt, deren Schleifen nur einen Eingang haben, was in der Praxis der Fall ist. Wir präsentieren P-LLVM, eine ausdrucksstarke Zwischendarstellung für Vektorisierer, welche dem Programm in jedem Stadium der Transformation von datenparallelem Code zu SIMD Code eine definierte Semantik verleiht. Partielle Steuerfluss-Linearisierung ist ein neuer Algorithmus zur If-Conversion, welcher Sprünge erhalten kann. Anders als existierende Verfahren hat Partielle Linearisierung eine lineare Laufzeit und fügt keine neuen Sprünge oder Blöcke ein. Wir zeigen Kriterien, unter denen der Algorithmus Steuerfluss erhält, und beweisen diese. Steuerflussdivergenz induziert Divergenz an Punkten zusammenfließenden Steuerflusses. Wir stellen eine neue Steuerflussdivergenzanalyse für azyklische Graphen mit optimaler Laufzeit vor und beweisen deren Korrektheit und Präzision. Wir verallgemeinern die Technik zu einem Algorithmus mit quadratischer Laufzeit für beliebiege, reduzible Steuerflussgraphen. Eine Studie auf realistischen Beispielgraphen zeigt, dass vergleichbare Techniken entweder weniger präsize sind oder falsche Ergebnisse liefern. Ebenfalls präsentieren wir eine Divergenzanalyse für P-LLVM Programme. Diese Analyse ist die erste Divergenzanalyse, welche Divergenz in stapelallokierten Objekten unter unstrukturiertem Steuerfluss analysiert. Schließlich generalisieren wir die eindimensionale Vektorisierung von äußeren Schleifen zur multidimensionalen Tensorisierung von Schleifennestern. Tensorisierung eröffnet für SIMD Prozessoren mehr Möglichkeiten, bereits geladene Werte wiederzuverwenden und das Speicherzugriffsverhalten des Programms zu optimieren, als dies mit Vektorisierung der Fall ist. Die vorgestellten Techniken wurden in den Region Vectorizer (RV) für Vektorisierung und TensorRV für die Tensorisierung von Schleifennestern implementiert. Wir zeigen auf einer Reihe von steuerflusslastigen Programmen für die Traversierung von Baumdatenstrukturen, dass RV das gleiche Niveau erreicht wie der ISPC Compiler, welcher nur seine strukturierte Eingabesprache verarbeiten kann. RV kann schnellere SIMD-Programme erzeugen als die Schleifenvektorisierer in aktuellen Industriecompilern. Dies demonstrieren wir mit dem nab_s benchmark aus der SPEC2017 Benchmarksuite und der XSBench Proxy-Anwendung

    An abstract interpretation for SPMD divergence on reducible control flow graphs

    Get PDF
    Vectorizing compilers employ divergence analysis to detect at which program point a specific variable is uniform, i.e. has the same value on all SPMD threads that execute this program point. They exploit uniformity to retain branching to counter branch divergence and defer computations to scalar processor units. Divergence is a hyper-property and is closely related to non-interference and binding time. There exist several divergence, binding time, and non-interference analyses already but they either sacrifice precision or make significant restrictions to the syntactical structure of the program in order to achieve soundness. In this paper, we present the first abstract interpretation for uniformity that is general enough to be applicable to reducible CFGs and, at the same time, more precise than other analyses that achieve at least the same generality. Our analysis comes with a correctness proof that is to a large part mechanized in Coq. Our experimental evaluation shows that the compile time and the precision of our analysis is on par with LLVM’s default divergence analysis that is only sound on more restricted CFGs. At the same time, our analysis is faster and achieves better precision than a state-of-the-art non-interference analysis that is sound and at least as general as our analysis

    Therapie zerebraler Wahrnehmungsstörungen

    Get PDF
    Zerebrale visuelle Wahrnehmungsstörungen (CVI) sind der häufigste Auslöser für kindliche Sehstörungen in westlichen Ländern. Trotz ihrer Häufigkeit existieren bis heute aber kaum wissenschaftlich geprüfte Behandlungsprogramme für die Betroffenen. Ein Lösungsansatz für dieses Problem ist die Adaptation bereits evaluierter Verfahren aus dem Erwachsenenbereich. Diesem Konzept folgend, wurden im Rahmen der vorliegenden Untersuchung die beiden von Zihl (2011) entwickelten Behandlungsverfahren SEARCH und Pro*Text bei 11 Schulkindern mit CVI (Alter: 9-16 Jahre) angewendet und ihre Wirkung auf die visuelle Suche bzw. Lesefähigkeit der Probanden evaluiert. Zur Beurteilung der Leistungsentwicklung der Schüler wurden an fünf Messzeitpunkten Tests der visuellen Suche bzw. des Überblicks, der Leseleistung und der fokussierten Aufmerksamkeit durchgeführt. Die Ergebnisse der Analyse ergaben signifikante, aber verhältnismäßig geringe Leistungssteigerungen bzgl. visueller Suche und Lesefähigkeit, die eine positive, aber unspezifische Wirkung beider Verfahren nahelegen. Zudem zeigte sich ein deutlich positiver Effekt der Behandlung auf die fokussierte Aufmerksamkeit. Die Anwendungsreihenfolge der Verfahren hatte keinen Einfluss auf den Behandlungserfolg. Obwohl sich nach Behandlungsabschluss auf Gruppenebene keine signifikanten Leistungsveränderungen mehr zeigten, kam es bei einzelnen Probanden zu erheblichen Leistungsschwankungen. Das Vorliegen von Gesichtsfeldausfällen minderte die Wirksamkeit der Behandlungsverfahren. Einflüsse nicht-visueller Entwicklungsdefizite oder Alterseffekte zeigten sich dagegen nicht. Die Befunde der Untersuchung wurden dahingehend interpretiert, dass SEARCH und Pro*Text bei den Kindern nur eingeschränkt wirken konnten, da der Hauptauslöser für Defizite in visueller Suche und Lesefähigkeit bei dieser Stichprobe ein anderer ist als bei erwachsenen Patienten, für die die Behandlungsverfahren eigentlich konzipiert sind. Die unspezifischen Leistungsverbesserungen entstanden vermutlich durch Behandlungseffekte auf die Top-Down-Kontrolle der visuell-räumlichen Aufmerksamkeit

    Vortices in simulations of solar surface convection

    Full text link
    We report on the occurrence of small-scale vortices in simulations of the convective solar surface. Using an eigenanalysis of the velocity gradient tensor, we find the subset of high vorticity regions in which the plasma is swirling. The swirling regions form an unsteady, tangled network of filaments in the turbulent downflow lanes. Near-surface vertical vortices are underdense and cause a local depression of the optical surface. They are potentially observable as bright points in the dark intergranular lanes. Vortex features typically exist for a few minutes, during which they are moved and twisted by the motion of the ambient plasma. The bigger vortices found in the simulations are possibly, but not necessarily, related to observations of granular-scale spiraling pathlines in "cork animations" or feature tracking.Comment: 11 pages, 13 figures, accepted for publication in A&A, complementary movies at http://www.mps.mpg.de/homes/moll/strudel/papermovies

    Improved precision scaling for simulating coupled quantum-classical dynamics

    Full text link
    We present a super-polynomial improvement in the precision scaling of quantum simulations for coupled classical-quantum systems in this paper. Such systems are found, for example, in molecular dynamics simulations within the Born-Oppenheimer approximation. By employing a framework based on the Koopman-von Neumann formalism, we express the Liouville equation of motion as unitary dynamics and utilize phase kickback from a dynamical quantum simulation to calculate the quantum forces acting on classical particles. This approach allows us to simulate the dynamics of these particles without the overheads associated with measuring gradients and solving the equations of motion on a classical computer, resulting in a super-polynomial advantage at the price of increased space complexity. We demonstrate that these simulations can be performed in both microcanonical and canonical ensembles, enabling the estimation of thermodynamic properties from the prepared probability density.Comment: 19 + 51 page

    Multi-Parameter Analysis of Biobanked Human Bone Marrow Stromal Cells Shows Little Influence for Donor Age and Mild Comorbidities on Phenotypic and Functional Properties

    Get PDF
    Heterogeneous populations of human bone marrow-derived stromal cells (BMSC) are among the most frequently tested cellular therapeutics for treating degenerative and immune disorders, which occur predominantly in the aging population. Currently, it is unclear whether advanced donor age and commonly associated comorbidities affect the properties of ex vivo-expanded BMSCs. Thus, we stratified cells from adult and elderly donors from our biobank (n = 10 and n = 13, mean age 38 and 72 years, respectively) and compared their phenotypic and functional performance, using multiple assays typically employed as minimal criteria for defining multipotent mesenchymal stromal cells (MSCs). We found that BMSCs from both cohorts meet the standard criteria for MSC, exhibiting similar morphology, growth kinetics, gene expression profiles, and pro-angiogenic and immunosuppressive potential and the capacity to differentiate toward adipogenic, chondrogenic, and osteogenic lineages. We found no substantial differences between cells from the adult and elderly cohorts. As positive controls, we studied the impact of in vitro aging and inflammatory cytokine stimulation. Both conditions clearly affected the cellular properties, independent of donor age. We conclude that in vitro aging rather than in vivo donor aging influences BMSC characteristics

    Boganmeldelser

    Get PDF

    SolNet:PhD-scholarships and courses on solar heating

    Get PDF
    AbstractSolNet, founded in 2006, is the first coordinated International PhD education program on Solar Thermal Engineering. The SolNet network is coordinated by the Institute of Thermal Engineering at Kassel University, Germany. The network offers PhD courses on solar heating and cooling, conference-accompanying Master courses, placements of internships, and PhD scholarship projects. A new scholarship project, “SHINE”, will be launched in autumn 2013 in the frame work of the Marie Curie program of the European Union (Initial Training Network, ITN). 13 PhD-scholarships on solar district heating, solar heat for industrial processes, as well as sorption stores and materials will be offered, starting in December 2013. Additionally, the project comprises a training program with five PhD courses and several workshops on solar thermal engineering that will be open also for other PhD students working in the field. The research projects will be hosted by six different universities and five companies from all over Europe

    Game theory of mind

    Get PDF
    This paper introduces a model of ‘theory of mind’, namely, how we represent the intentions and goals of others to optimise our mutual interactions. We draw on ideas from optimum control and game theory to provide a ‘game theory of mind’. First, we consider the representations of goals in terms of value functions that are prescribed by utility or rewards. Critically, the joint value functions and ensuing behaviour are optimised recursively, under the assumption that I represent your value function, your representation of mine, your representation of my representation of yours, and so on ad infinitum. However, if we assume that the degree of recursion is bounded, then players need to estimate the opponent's degree of recursion (i.e., sophistication) to respond optimally. This induces a problem of inferring the opponent's sophistication, given behavioural exchanges. We show it is possible to deduce whether players make inferences about each other and quantify their sophistication on the basis of choices in sequential games. This rests on comparing generative models of choices with, and without, inference. Model comparison is demonstrated using simulated and real data from a ‘stag-hunt’. Finally, we note that exactly the same sophisticated behaviour can be achieved by optimising the utility function itself (through prosocial utility), producing unsophisticated but apparently altruistic agents. This may be relevant ethologically in hierarchal game theory and coevolution
    corecore